/*
 * Copyright (c) 2025 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import {useBreakpointValue} from '@hadss/react_native_adaptive_layout';
import React from 'react';
import {View, StyleSheet, Image, ImageSourcePropType} from 'react-native';
import Swiper from 'react-native-swiper';

const SwiperList = (): JSX.Element => {
  const images = [
    {
      uri: require('../../../../assets/images/image1.png'),
    },
    {
      uri: require('../../../../assets/images/image1.png'),
    },
    {
      uri: require('../../../../assets/images/image1.png'),
    },
    {
      uri: require('../../../../assets/images/image1.png'),
    },
    {
      uri: require('../../../../assets/images/image1.png'),
    },
    {
      uri: require('../../../../assets/images/image1.png'),
    },
  ];

  const swiperHeight = useBreakpointValue({
    base: 200,
    sm: 200,
    md: 220,
    lg: 240,
    xl: 250,
  });

  return (
    <View style={styles.swiperContainer}>
      <Swiper
        style={{height: swiperHeight, borderRadius: 20}}
        showsPagination={true}
        loop={true}
        autoplay={true}
        loadMinimal={true}
        autoplayTimeout={3}
        removeClippedSubviews={false}
        dotColor="rgba(255,255,255,0.5)"
        activeDotColor="#fff">
        {images.map((uri: {uri: ImageSourcePropType}, index: number) => (
          <Image
            key={index}
            source={uri.uri}
            style={styles.image}
            resizeMode="cover"
          />
        ))}
      </Swiper>
    </View>
  );
};

const styles = StyleSheet.create({
  swiperContainer: {
    flex: 1,
  },
  image: {
    width: '100%',
    height: '100%',
    borderRadius: 20,
  },
});

export default SwiperList;
